This disclosure relates in general to a content delivery network (CDN) and, but not by way of limitation, to transferring information during the domain name service (DNS) lookup to more efficiently utilize the CDN.
CDNs are used to offload content delivery from an origin server. CDNs have geographically distributed points of presence (POPs) to locate edge servers close to end users. CDNs are capable of delivering content in high demand with higher levels of quality of service (QoS). Content is requested by universal resource locator (URL) from a CDN. Various techniques are used to route a URL request to a nearby POP, for example, by DNS lookup, request redirection, request routing, and/or Anycast.
DNS is used to translate a domain name to an Internet protocol (IP) address. An IP address is required to request content on a server. Domain names are typically easy to remember words that are organized by top-level domain (TLD) label. DNS lookups follow a series of steps until an authoritative DNS is found that actually returns the IP address for a hostname (i.e., a domain and subdomain(s) combination). Software such as the open source Berkeley Internet Name Domain (BIND) server will perform DNS lookups.
URLs include one or more hostnames followed by a TLD. The hostname includes a domain label on the right with any number of subdomain labels. The TLD label is the top level of a hierarchy dividing the namespace of the Internet. Each branch down from the TLD is a domain that may further branch and further branch with any number of levels of subdomains. The tree of the hierarchy can have up to 127 levels with each domain or subdomain containing 63 characters. The hostname is used to find an IP address of a server, but the DNS is never given any information on the content that might ultimately be requested from the IP address.